Neural networks can be trained for different tasks, such as image processing. A trained neural network model can be transmitted to remote client devices for execution. Different client device types (e.g., different operating systems, screen sizes, processors) often require custom-made neural network models that are specifically designed for execution within a given client device environment. Managing multiple versions of a single neural network model, which then must be sent to different client devices over the network when requested, is difficult and often results in a waste of computational resources. Further, sending all client deices all versions is likewise not practical because client devices often have limited memory.